package com.msh.automatic.android.api.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * 任务表;
 * @author : http://www.chiner.pro
 * @date : 2025-6-7
 */
@Data
@TableName("task")
@ApiModel(value = "任务表",description = "")
public class Task implements Serializable,Cloneable{
    /** 主键 */
    @TableId
    @TableField(value = "`id`")
    @ApiModelProperty(name = "id",notes = "主键")
    private String id;

    /** 任务描述 */
    @TableField(value = "`title`")
    @ApiModelProperty(name = "title",notes = "任务描述")
    private String title;

    /** 任务类型 */
    @TableField(value = "`type`")
    @ApiModelProperty(name = "type",notes = "任务类型")
    private TaskType type;

    /** app下载地址 */
    @TableField(value = "`download_url`")
    @ApiModelProperty(name = "downloadUrl",notes = "app下载地址")
    private String downloadUrl;

    /** app包名 */
    @TableField(value = "`package_name`")
    @ApiModelProperty(name = "packageName",notes = "app包名")
    private String packageName;

    /** app的界面类 */
    @TableField(value = "`activity_class`")
    @ApiModelProperty(name = "activityClass",notes = "app的界面类")
    private String activityClass;

    /** app版本 */
    @TableField(value = "`version_code`")
    @ApiModelProperty(name = "versionCode",notes = "app版本")
    private Integer versionCode;

    /** 无障碍服务名称 */
    @TableField(value = "`accessibility_service_name`")
    @ApiModelProperty(name = "accessibilityServiceName",notes = "无障碍服务名称")
    private String accessibilityServiceName;

    /** 无障碍服务类 */
    @TableField(value = "`accessibility_service_class`")
    @ApiModelProperty(name = "accessibilityServiceClass",notes = "无障碍服务类")
    private String accessibilityServiceClass;

    /** 任务参数 */
    @TableField(value = "`params`")
    @ApiModelProperty(name = "params",notes = "任务参数")
    private String params;

    /** 乐观锁 */
    @com.baomidou.mybatisplus.annotation.Version
    @ApiModelProperty(name = "revision",notes = "乐观锁")
    private Integer revision;

    /** 创建人 */
    @TableField(value = "`created_by`",fill = FieldFill.INSERT)
    @ApiModelProperty(name = "createdBy",notes = "创建人")
    private String createdBy;

    /** 创建时间 */
    @TableField(value = "`created_time`",fill = FieldFill.INSERT)
    @ApiModelProperty(name = "createdTime",notes = "创建时间")
    private Date createdTime;

    /** 更新人 */
    @TableField(value = "`updated_by`",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(name = "updatedBy",notes = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @TableField(value = "`updated_time`",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(name = "updatedTime",notes = "更新时间")
    private Date updatedTime;

    /** 数据权限 */
    @TableField(value = "`data_permissions`")
    @ApiModelProperty(name = "dataPermissions",notes = "数据权限")
    private String dataPermissions;

    /** 数据版本 */
    @TableField(value = "`data_version`")
    @ApiModelProperty(name = "dataVersion",notes = "数据版本")
    private Integer dataVersion;


    /** 任务类型枚举 */
    public enum TaskType{
        app,
    }


}